package com.zcxk.dto;

import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Getter;

import java.io.Serial;
import java.io.Serializable;

/**
 * @author wangping
 * @date 2023-07-28 00:03
 */
@Getter
public class DeviceData implements Serializable {

  @Serial
  private static final long serialVersionUID = -2128648646574052675L;

  private Integer serialNo;

  private Integer packageCount;

  private String patientID;

  private String deviceId;

  /**
   * 波形数据
   */
  private WaveData waveData;

  /**
   * 值数据
   */
  private ValueData valueData;

  /**
   * 血压数据
   */
  private NibpReview nibpReview;

  /**
   * 第一个点位的时间
   */
  private Long firstTime;

  @JSONField(name = "PackageCount")
  public DeviceData setPackageCount(Integer packageCount) {
    this.packageCount = packageCount;
    return this;
  }

  @JSONField(name = "SerialNo")
  public DeviceData setSerialNo(Integer serialNo) {
    this.serialNo = serialNo;
    return this;
  }

  @JSONField(name = "PatientID")
  public DeviceData setPatientID(String PatientID) {
    this.patientID = PatientID;
    return this;
  }

  @JSONField(name = "DeviceId")
  public DeviceData setDeviceId(String deviceId) {
    this.deviceId = deviceId;
    return this;
  }

  @JSONField(name = "WaveData")
  public DeviceData setWaveData(WaveData waveData) {
    this.waveData = waveData;
    return this;
  }

  @JSONField(name = "ValueData")
  public DeviceData setValueData(ValueData valueData) {
    this.valueData = valueData;
    return this;
  }

  @JSONField(name = "NibpReview")
  public DeviceData setNibpReview(NibpReview nibpReview) {
    this.nibpReview = nibpReview;
    return this;
  }

  @JSONField(name = "SendTime")
  public DeviceData setFirstTime(Long firstTime) {
    this.firstTime = firstTime;
    return this;
  }
}
